/*
 * GPL
 * Free soft,no warranted
 * We are all in the mud, but some of us are looking at the stars.
 * We are not born for ourselves.
 */
/**
 * @file stdafx.h
 * @Synopsis precompiler file
 * @author Chai JunJun
 * @date 2009-06-15
 */

#ifndef __PRECOMPILER_H__
#define __PRECOMPILER_H__

#include <iostream>
#include <vector>
#include <list>
#include <string>
#include <fstream>
#include <iterator>
#include <algorithm>
#include <cstdlib>
#include <ctime>            // std::time
#include <cmath>
#include <limits>
#include <sstream>
#include <map>

#include <tlpr/tltypes.h>
#include <tlpr/platform_library_speific.h>
#include <tlpr/tlnetdb.h>
#include <tlpr/tlhashmap.h>
#include <tlpr/tlthread.h>
#if( defined(IS_WIN32) && defined(IS_MSVC) )
#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
#pragma warning(disable:4819)
#endif
#ifdef IS_UNIX
#include <sys/types.h>
#include <pthread.h>
#endif


#if( defined(IS_UNIX) )
#include <signal.h>
#endif

#ifdef __cplusplus
using std::vector;
using std::string;
using std::pair;
typedef TLUint8 TLBYTE;
typedef vector<TLBYTE> ByteArray;
#else
#error invalid compiler environment
#endif /*__cplusplus*/


#include <boost/program_options.hpp>
#include <boost/progress.hpp>
#include <boost/assign.hpp>
#include <boost/thread.hpp>
#include <boost/bind.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/format.hpp>
#include <boost/enable_shared_from_this.hpp>
#include <boost/date_time/gregorian/gregorian.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/noncopyable.hpp>
#include <boost/logic/tribool.hpp>
#include <boost/circular_buffer.hpp>
//using namespace boost;

using namespace boost::gregorian;
using namespace boost::posix_time;
using boost::format;
using namespace boost::algorithm;
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/local_time_adjustor.hpp>
#include <boost/date_time/c_local_time_adjustor.hpp>
#include <boost/tuple/tuple.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/asio.hpp>
#include <boost/foreach.hpp>
#include <logger.h>
#include <propertyconfigurator.h>

using namespace log4cxx;

#endif //__PRECOMPILER_H__
